home *** CD-ROM | disk | FTP | other *** search
- CYBERSPACE SOURCES - BY PHANTOM - A NOSTALGIA DEMOCODER
-
- -What the...
-
- At this moment you are the proud owner of a copy of phantom's cyberspace-
- sources. With these sources you can experiment with the latest in P.D.
- virtual-reality. These sources, when properly compiled, will run on any
- AT, but they will be too slow on anything less than a 386DX/33. On some
- very fast machines the program might be too fast. In that case, borrow
- your neighbours' computer. (They say that your neighbours' computer should
- ALWAYS be slower than yours)
- To run these sources, please compile demo3d.pas and makedata.pas. To obtain
- a cool sample WAD file, just run the makedata-program. In the current
- directory a cool file will appear, quite big actually. This is a data
- file, with the texture data in it, and a small map.
- Now start Turbo-Pascal 7.0, don't do any checking (especially no stack-
- checking or overflow checking), don't use debug symbols and all the slow
- shit, just compile the program. During this process, a special graphics
- unit (VGA256.PAS) will be compiled, this gives you the great VGA256.TPU
- file. Of course you may use this also in your own program.
- I said also. Sorry, but I wouldn't like it if you use ANY of my routines
- in commercial stuff or shareware-programs. Neither would it be any fun
- if my cyberspace would magically appear in a dazzling new demo.
-
- At this stage, you have probably taken a close look at the running
- program. So now you know what cyberspace is.
-
-
- Nostalgia? What the...
-
- Nostalgia is the newest Dutch demogroup in Holland (A bit redundant,
- that 'Holland', isn't it?). It consists of four successfull screen and
- speaker artists. We have THREE coders: Suave, JAL, and me, The Phantom.
- Yes, I know there are quite some Phantoms, but hey, they can't really
- compete in the demoscene, so let THEY change their name. If any 'phantom'
- can out-perform me, I will change my name.
- Just for your information: We won the BiZARRE!'94 compo in Nijmegen,
- Holland. The first day of the compo (saturday) was the first day that
- I met the other guys. So you can image that we had some rough 24 hours
- to get our demo working! Due to this, we where not completely satisfied
- with the result. We won, but we didn't release it.
- At the time you read this, a highly improved version of ECHOES of the
- past is released, and now available on the Internet. If you have a GUS
- you will hear the great music from our musician, The REW. He's one of
- the finest in Holland, and can certainly compete with the world's
- leading musicians. You don't believe it? Get the demo!
-
-
- Sources? What the...
-
- Because I think the current level in public domain-games is rather low,
- these sources are hereby placed in the public domain. As said, don't
- use it for shareware without my permission!
- If you would like to use Cyberspace, you will have to be a fairly
- good programmer, since some very important bits are missing. My routine
- can not display sprites at the moment, making it rather useless for games.
- Of course, this can be implemented. If you can do this, I think you are
- qualified to use the sources. If you can't do this, the final game would
- have been shit anyway. If you can prove that you can do a good game, but
- can't program the sprites, contact me.
-
- Maybe you would like some explanation on the sources.
- Here it comes.
- - The floor is a rotated and tilted bitmap. This bitmap consists
- of little bitmaps, the little bitmaps are 32x32 pixels. You can
- think of the floor as a giant chess-board. On screen you see
- approx. 7 squares on the base-line, and more on the other lines.
- Every square has a number (0..255), because it's directly peeked
- from the map-memory. This number is the bitmap-index. So, the cool
- bitmaps that where defined in MakeData are used here.
- Because these tiles are rather big, and the world can consist of
- 128x256 tiles, the maximum size of the world is big enough for
- the average game. In the demo only one half of the maximum-size
- is used. Of course, you could have more than one map.
- So, the floor is easy. Now the ceiling.
- - All the tile-edge-coords are mirrored from the floor. So an x-pos
- in a tile on the floor is equal to an x-coord in a tile on the
- ceiling. All coord-calculations have to be done only once.
- So, the ceiling is not so hard either. Now the walls.
- - Every time the algorithm wants to draw a color-0 spot on the floor,
- a wall is drawn instead. So, a black square on the floor (assuming
- that color 0 is black) will become a massive block of wall on-screen.
- Whenever a bar is drawn from the floor to the mirrored coord on the
- ceiling, that x-pos is blocked. Please note that we are drawing from
- the bottom of the screen towards the middle, so, we don't first draw
- the fartest [ :) ] objects, but the nearest!
- When an x-pos is blocked, all walls and floors behind it are not even
- calculated any more.
- - As you can see, the walls are not drawn with one color. This is done
- by taking the value of the ceiling-tile (which you can't see because
- there's a wall), and find a nice pattern in a pattern-table. Because
- I draw one bar at a time, I can only assign colors to horizontal lines
- on a wall, I can't do complete texture-mapping.
-
- So, this draws my world. Things are rather fast because I don't use
- screenswapping; I just overwrite the whole image. On slow computers this
- looks ugly, on all other systems you won't notice, and it spares me a
- clear-screen command.
-
- That's it, I think the average programmer will be able to create his own
- world with this information. If there are questions, let me know.
- Please let me know if you improve my world. I would like to work on
- a couple of things:
- - Sprites, as I mentioned before
- - More speed, using 386 registers, especially segment-registers
- - Lower walls (variable hight)
- - Better light-to-dark
-
- I already have routines to tilt the screen. This looks stunning, but it's
- not quite perfected yet. Let me know if you're interested, I'll send
- you a demo.
-
- Well, end of text, to contact me just send some E-mail to:
-
- ADSJBI@SKFERC.NL
-
- That's the E-mail address of:
-
- Jacco Bikker ('The Phantom')
- Gestellaan 44
- 3431 GN Nieuwegein
- Holland
- Phone (in Holland) 03402-33309
-
- See you, and mail me! I need four mails monday! (I wanna magnum (insiders))
-